home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / muds / pennmush.000 / pennmush-1.50-p8-linux.tar / pennmush / convdb.c < prev    next >
Text File  |  1992-12-16  |  3KB  |  135 lines

  1. /* convflags.c */
  2.  
  3. /* old flags */
  4.  
  5. /* Exit flags */
  6. #define OLD_EXIT_KEY 0x8            
  7.  
  8. /* Player flags */
  9. #define OLD_PLAYER_BUILD 0x8
  10. #define OLD_PLAYER_MYOPIC 0x20000    
  11. #define OLD_PLAYER_NOSPOOF 0x200000  
  12. #define OLD_PLAYER_TERSE 0x2000000   
  13. #define OLD_PLAYER_SUSPECT 0x4000000
  14.  
  15. /* Object flags */
  16. #define OLD_THING_KEY  0x8        
  17. #define OLD_THING_DEST_OK 0x200    
  18. #define OLD_THING_IMMORTAL 0x2000
  19. #define OLD_THING_PUPPET   0x20000    
  20. #define OLD_THING_LISTEN 0x200000 
  21.  
  22. /* Room flags */
  23. #define OLD_ROOM_FLOATING 0x8    
  24. #define OLD_ROOM_ABODE 0x200    
  25. #define OLD_ROOM_JUMP_OK 0x2000    
  26. #define OLD_ROOM_TRANSPARENT 0x20000
  27. #define OLD_ROOM_UNFIND 0x2000000 
  28. #define OLD_ROOM_NO_TEL 0x4000000 
  29.  
  30. static void conv_newflags(current, nflags, ntoggles, npowers)
  31.      int current;
  32.      int *nflags;
  33.      int *ntoggles;
  34.      int *npowers;
  35. {
  36.   int flags, toggles, powers;
  37.   flags = current;
  38.   toggles = powers = 0;
  39.  
  40.   switch (flags & TYPE_MASK) {
  41.   case TYPE_EXIT:
  42.     if (current & OLD_EXIT_KEY)
  43.       flags &= ~OLD_EXIT_KEY;
  44.     break;
  45.   case TYPE_PLAYER:
  46.     if (current & OLD_PLAYER_BUILD) {
  47.       flags &= ~OLD_PLAYER_BUILD;
  48.       powers |= CAN_BUILD;
  49.     }
  50.     if (current & OLD_PLAYER_MYOPIC) {
  51.       flags &= ~OLD_PLAYER_MYOPIC;
  52.       toggles |= PLAYER_MYOPIC;
  53.     }
  54.     if (current & OLD_PLAYER_NOSPOOF) {
  55.       flags &= ~OLD_PLAYER_NOSPOOF;
  56.       toggles |= PLAYER_NOSPOOF;
  57.     }
  58.     if (current & OLD_PLAYER_TERSE) {
  59.       flags &= ~OLD_PLAYER_TERSE;
  60.       toggles |= PLAYER_TERSE;
  61.     }
  62.     if (current & OLD_PLAYER_SUSPECT) {
  63.       flags &= ~OLD_PLAYER_SUSPECT;
  64.       toggles |= PLAYER_SUSPECT;
  65.     }
  66.     if (current & PLAYER_GAGGED) {
  67.       flags &= ~PLAYER_GAGGED;
  68.       toggles |= PLAYER_GAGGED;
  69.     }
  70.     if (current & PLAYER_MONITOR) {
  71.       flags &= ~PLAYER_MONITOR;
  72.       toggles |= PLAYER_MONITOR;
  73.     }
  74.     if (current & AUDIBLE) {
  75.       flags &= ~AUDIBLE;
  76.       toggles |= PLAYER_ANSI;
  77.     }
  78.     break;
  79.   case TYPE_THING:
  80.     if (current & OLD_THING_KEY)
  81.       flags &= ~OLD_THING_KEY;
  82.     if (current & OLD_THING_DEST_OK) {
  83.       flags &= ~OLD_THING_DEST_OK;
  84.       toggles |= THING_DEST_OK;
  85.     }
  86.     if (current & OLD_THING_IMMORTAL) {
  87.       flags &= ~OLD_THING_IMMORTAL;
  88.       powers |= IMMORTAL;
  89.     }
  90.     if (current & OLD_THING_PUPPET) {
  91.       flags &= ~OLD_THING_PUPPET;
  92.       toggles |= THING_PUPPET;
  93.     }
  94.     if (current & OLD_THING_LISTEN) {
  95.       flags &= ~OLD_THING_LISTEN;
  96.       toggles |= THING_LISTEN;
  97.     }
  98.     break;
  99.   case TYPE_ROOM:
  100.     if (current & OLD_ROOM_FLOATING) {
  101.       flags &= ~OLD_ROOM_FLOATING;
  102.       toggles |= ROOM_FLOATING;
  103.     }
  104.     if (current & OLD_ROOM_ABODE) {
  105.       flags &= ~OLD_ROOM_ABODE;
  106.       toggles |= ROOM_ABODE;
  107.     }
  108.     if (current & OLD_ROOM_JUMP_OK) {
  109.       flags &= ~OLD_ROOM_JUMP_OK;
  110.       toggles |= ROOM_JUMP_OK;
  111.     }
  112.     if (current & OLD_ROOM_TRANSPARENT) {
  113.       flags &= ~OLD_ROOM_TRANSPARENT;
  114.       flags |= TRANSPARENT;
  115.     }
  116.     if (current & OLD_ROOM_UNFIND) {
  117.       flags &= ~OLD_ROOM_UNFIND;
  118.       flags |= UNFIND;
  119.     }
  120.     if (current & OLD_ROOM_NO_TEL) {
  121.       flags &= ~OLD_ROOM_NO_TEL;
  122.       toggles |= ROOM_NO_TEL;
  123.     }
  124.     if (current & ROOM_TEMPLE) {
  125.       flags &= ~ROOM_TEMPLE;
  126.       toggles |= ROOM_TEMPLE;
  127.     }
  128.     break;
  129.   }
  130.  
  131.   *nflags = flags;
  132.   *ntoggles = toggles;
  133.   *npowers = powers;
  134. }
  135.